using System;
using OpenTK.Graphics.OpenGL;
using Mono.Rift.Core.Graphics;

namespace Mono.Rift.Core.OpenTK
{
	public class Texture : Mono.Rift.Core.Graphics.Texture
	{
		public RenderDevice Renderer { get; private set; }
		public int W { get; private set;}
		public int H { get; private set; }

		public int _textureID;

		public Texture (RenderDevice renderDevice, int w, int h)
		{
			Renderer = renderDevice;
			W = w;
			H = h;

			GL.GenTextures (1, out _textureID);
		}

		~Texture()
		{
			if (_textureID != 0)
				GL.DeleteTextures (1, new [] { _textureID });
		}

		#region implemented abstract members of Texture

		public override void setSampleModel (int sm)
		{
			throw new NotImplementedException ();
		}

		public override void set (int slot, ShaderStage stage = ShaderStage.Fragment)
		{
			throw new NotImplementedException ();
		}

		#endregion
	}
}

